package com.hzz.mybatisplusdemo.Tenant;

import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.StringValue;
import net.sf.jsqlparser.util.cnfexpression.MultipleExpression;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ：hzz
 * @description：TODO
 * @date ：2021/8/9 15:44
 */

public class MyTenantLineHandler  implements TenantLineHandler {
    @Override
    public Expression getTenantId() {
        List<Expression> childlist =new ArrayList<>();
        childlist.add(new StringValue("1"));
        childlist.add(new StringValue("2"));
        MultipleExpression multipleExpression=new MultipleExpression(childlist) {
            @Override
            public String getStringExpression() {
                return ",";
            }
        };
        return multipleExpression;
    }

    @Override
    public String getTenantIdColumn() {
        return "id";
    }

    /**
     * 这个地方需要排除没有这个权限字段的表,如果是嵌套或者连表,都会添加上这个多租户
     * @param tableName
     * @return
     */
    @Override
    public boolean ignoreTable(String tableName) {

        return false;
    }
}
